Wstęp

Dlaczego Polska?

Tak jak w podtytule - aby dowiedzieć się czy możemy dowiedzieć się czegoś ciekawego na temat kondycji młodzierzy w nadwiślańskim stanie. Powinna być to kwestia szczególnie istotna dla każdego czytelnika. Biorąc pod uwagę ostatnie lata, które możnaby śmiało nazwać recesją szeroko pojętej cywilizacji, zarówno lokalnie jak i globalnie, odpowiedź na pytanie o stan przyszłości naszego kraju, kierunek w jakim ona zmierza i jej ewaluacja stanowią kluczowe pytania wagi najwyższej!

Słowo o badaniu PISA

W celu spełnienia kronikarskiego obowiązku wypada wspomnieć o tym, czym będziemy się de facto zajmować. PISA (Programme for International Student Assesement) to badanie przeprowadzane co 3 lata na grupie wybranych 15 latków z różnych krajów (w 2018 do badania przystąpiło 612004 uczniów z około 100 krajów/regionów ekonomicznych). Poprzez wyczerpujący kwestionariusz badanie to ma na celu zmierzenie poziomu umiejętności młodzierzy z zakresu czytania ze zrozumieniem czy sprawności matematycznej oraz przez zadane pytania dotyczące między innymi szeroko pojętej sytuacji w domu, szkole i “stanu psychicznego” uczestników wyciągnięcie wniosków dotyczących jakości edukacji na danym obszarze, poznanie różnic w umiejętnościach wynikających z sytuacji ekonomicznych itp.

Wstępne uwagi

Chciałbym w tym paragrafie trochę ponarzekać o strukturze pytań i danych, które będą podlegać analizie poniżej. Proces powstawania tego raportu rozpoczął się od znalezienia przeze mnie “ciekawych” pytań w kwestionariuszu, które następnie chciałem zestawić w mniejszą tabelę i przeprowadzić na nich analizę. Niestety (lub na szczęście) pytania często bywały bardzo obszerne, na przykład były wielokrotnego wyboru co sprawiało, że wejściowa tabela posiadała często po kilka (nawet do 10!) kolumn na temat pojedyńczego pytania. Na szczęście dzięki temu potencjalna analiza może być zdecydowanie bardziej dogłębna, wielopoziomowa i efektywna (oraz efektowna).

Jakie pytania uznałem za interesujące? Odpowiedź brzmi: różne. Jak wspomniałem wyżej, jakość danych, ich skomplikowanie i głębia pozwoliłyby na wyjątkowe efekty, które faktycznie zostały uzyskane przez przeprowadzających to badanie. Postarałem się więc nie odtwarzać (na zapewne niższym poziomie) ich pracy, a w zamian zrobić coś “lekkiego”, delikatnie humorystycznego, nie mniej interesującego.

Prawdziwe Informacje o Stanie Adeptów

Jest dobrze?

Pewnie mogło być gorzej. Grupa przebadanych zdecydowanie w większości opowiedziała się jako szczęśliwi, mediana wynosząca 7 stanowi o tym, iż przynajmniej połowa ankietowanych jest faktycznie szczęśliwa.

D <- DST %>% 
  filter(CNT == "POL") %>% 
  select("SZCZESCIE" = ST016Q01NA) %>% 
  filter(!is.na(SZCZESCIE))

plot_ly(
  data = D,
  x = ~SZCZESCIE,
  type = "violin") %>% 
  layout(title = "Deklarowany poziom szczęścia", showlegend = F) 

Czy na poziom szczęścia ma wpływ płeć?

Ciężko stwierdzić chociaż pewny trend jest zauważalny, mianowicie mężczyźni częściej zaznaczali niższe poziomy szczęścia, natomiast na poziomie szczęścia równym 10 opowiedziało się dwa razy więcej kobiet niż mężczyzn!

D <- DST %>% 
  filter(CNT == "POL") %>% 
  select("SZCZESCIE" = ST016Q01NA, "PLEC" = ST004D01T) %>% 
  filter(!is.na(PLEC)) %>% 
  filter(!is.na(SZCZESCIE))

D %>% 
  mutate(PLEC = case_when(
    PLEC == 1 ~ "M",
    PLEC == 2 ~ "K")) %>% 
  mutate(PLEC = as.factor(PLEC)) %>% 
  ggplot(aes(x = SZCZESCIE, fill = PLEC, group = PLEC)) + 
  geom_histogram(position = "dodge",binwidth = 0.5) + 
  labs(title = "Poziom szczęścia a płeć") + 
  xlab("Poziom szczęścia (1-min, 10-max)") + ylab("Liczność") -> plot_1
plot_1 <- ggplotly(plot_1)
plot_1

Czy szczęśliwe osoby czytają książki?

Domyślam się, że można na to spojrzeć dwojako. Oczywiście z pewnej perspektywy czytanie książek, w szczególności w okresie nastoletnim, jest postrzegane jako aktywność jak najbardziej niesprzyjająca byciu szczęśliwym człowiekiem. Widoczne może to być jako lekko jaśniejszy pasek na poziomie czytania równym dwa (około 10 stron) i poziomie szczęścia powyżej 5. Pokrzepiającym może być informacja, iż peek heatmapy przypada w prawej-górnej części wykresu - czyli tam gdzie znalazły się osoby szczęśliwe, które czytają stosunkowo dużo. Z drugiej strony ten poziom (5 czyli między 100 i 500 stron) wydaje się być populacyjną średnią, która w połączeniu z rozkładem szczęścia ankietowanych tłumaczy “żółty kwadracik”…

D <- DST %>% 
  filter(CNT == "POL") %>% 
  select("SZCZESCIE" = ST016Q01NA, "PLEC" = ST004D01T, "PRZECZYTANE_KSIAZKI" = ST154Q01HA) %>% 
  filter(!is.na(PLEC)) %>% 
  filter(!is.na(SZCZESCIE)) %>% 
  filter(!is.na(PRZECZYTANE_KSIAZKI)) %>% 
  mutate(PLEC = case_when(
    PLEC == 1 ~ "M",
    PLEC == 2 ~ "K")) %>%
  group_by(SZCZESCIE, PRZECZYTANE_KSIAZKI, PLEC) %>% 
  summarise(LICZBA = n())
  

plot_ly(D, x = ~SZCZESCIE, y = ~PRZECZYTANE_KSIAZKI, z = ~LICZBA, type = "heatmap") %>% 
  layout(title = "Liczba przeczytanych stron książek w zależności od poziomu szczęścia")

Jak emocje korelują ze świadomością o problemach globalnych?

Dość słabo. Struktura poniższej macierzy korelacji jasno prezentuje, iż pomimo świadomości (i to nie małej!) młodzierzy o globalnych problemach, z którymi przyjdzie im się prawpodopobnie w przyszłości mierzyć to ich reakcja na nie jest wyjątkowo… obojętna.

Może mieć to zarówno pozytywne jak i negatywne efekty. Chłodna kalkulacja pozwala obiektywnie spojrzeć na problem i podjąć właściwe działania. Niewrażliwość może dążyć do bagatelizacji i zaniechania, co może być tragiczne w skutkach.

D <- DST %>% 
  filter(CNT == "POL") %>%
  select("SZCZĘŚLIWY" = ST186Q05HA,
         "PRZERAŻONY" = ST186Q06HA,
         "PEŁEN_ENERGII" = ST186Q07HA,
         "DUMNY" = ST186Q09HA,
         "ZMIANY_KLIMATU" = ST197Q01HA,
         "KONFLIKTY" = ST197Q07HA,
         "UBÓSTWO" = ST197Q09HA,
         "EPIDEMIE" = ST197Q02HA) %>% 
  filter(!is.na(SZCZĘŚLIWY)) %>% 
  filter(!is.na(PRZERAŻONY)) %>% 
  filter(!is.na(PEŁEN_ENERGII)) %>% 
  filter(!is.na(DUMNY)) %>% 
  filter(!is.na(ZMIANY_KLIMATU)) %>% 
  filter(!is.na(KONFLIKTY)) %>% 
  filter(!is.na(UBÓSTWO)) %>% 
  filter(!is.na(EPIDEMIE)) 
KORELACJA <- round(cor(D), 1)
ggplotly(ggcorrplot::ggcorrplot(KORELACJA))

Podsumowanie

Istotnie badanie PISA dostarczyło wielu interesujących danych do wnikliwej analizy. Pomimo tego, że ledwo co stanęliśmy u pondóża ogromnej góry informacji i postawiliśmy tylko kilka kroków w stronę szczytu, to przebyta droga powinna zdecydowanie nastawić opytmistycznie, zarówno pod względem samej wiedzy drzemiącej z jej sercu i tylko czekającej na jej odkrycie jak i tego co ze sobą niesie.

A co ze wspominaną we wstępnie “kondycją polskiej młodzierzy”? Bynajmniej nie udzieliliśmy wyczerpującej odpowiedzi. Mam jednak nadzieje, że udało się, dzięki powyższym rozważaniom, przynajmniej jedną zapałkę nadzieji.

Słowo od autora

Abstrahując od istoty całej pracy, chciałbym się podzielić swoimi… wrażeniami z procesu “twórczego”. Mianowicie po napisaniu wstępu (poprzedzonego krótką lekturą danych) plany były bardzo ambitne. Możliwości pakietu Plotly wyglądały na ograniczone jedynie własną wyobraźnią. Niestety jak się w trakcie okazało (a w trakcie w przeliczeniu na roboczogodziny stanowiło zapewne więcej niż pozostałe prace domowe razem wzięte), przynajmniej w moim odczuciu, wspomniany pakiet zaparł się “rękami i nogami” i nie pozwolił na stworzenie czegoś, co nazwałbym “łał”… Tak więc z wielką goryczą zamieszczam poniżej jeden (z wielu!) nieudanych planów na naprawdę interaktywny wykres.

# interaktywna heatmapa

plot_ly(D, x = ~SZCZESCIE, y = ~PRZECZYTANE_KSIAZKI, z = ~COUNT, type = "heatmap") %>% 
  layout(title = "Czytane książki, poziom szczęścia, płeć czytelnika ",
         xaxis = list(title = "Poziom szczęścia"), yaxis = list(title = "Przeczytane książki"),
         updatemenus = list(list(type = "buttons", 
                                 showactive = TRUE, 
                                 buttons = list(list(label = "M",method = "update",
                                     args = list(list(z = matrix(D$COUNT[D$PLEC == "M"])), 
                                                 list(title = "DLA MĘŻCZYZN"))),
                                   list(label = "K",method = "update",
                                     args = list(list(
                                                      z = matrix(D$COUNT[D$PLEC == "K"])), 
                                                 list(title = "DLA KOBIET")))))))

Niemniej chwila autorefleksji, mam nadzieje, zmotywuje do pokonania Plotly ale to już w przyszłości.

Zakończenie i bibliografia

Całość danych pochodzi stąd: https://www.oecd.org/pisa/data/2018database/.

Dziękuję za uwagę!